<?php
/**
 * YQueueInterface.php
 *
 * @author Hua Yang <htmlcook@gmail.com>
 * @since 2.0
 */

/**
 * Interface YQueueInterface
 */
interface YQueueInterface
{
	/**
	 * @param $data
	 * @return mixed
	 */
	public function createItem($data);

	/**
	 * @return integer
	 */
	public function numberOfItems();

	/**
	 * @param int $leaseTime
	 * @return mixed
	 */
	public function claimItem($leaseTime = 3600);

	/**
	 * @param $item
	 */
	public function deleteItem($item);

	/**
	 * @param $item
	 * @return bool
	 */
	public function releaseItem($item);

	/**
	 */
	public function createQueue();

	/**
	 */
	public function deleteQueue();
}